﻿using System;
using System.Collections.Generic;

using System.Text;

namespace Sinacor.Tools.Entidade
{
    [Serializable()]
        //inc - esertorio - 200810061328
    public class SubModulo : Dominio<string>, IComparer<SubModulo>
    {
        public SubModulo() { }
        public SubModulo(string pId, string pDescricao)
        {
            this.Id = pId;
            this.Descricao = pDescricao;
        }

        public SubModulo(string pId, string pDescricao, string pModulo)
        {
            this.Id = pId;
            this.Descricao = pDescricao;
            this._modulo = pModulo;
        }

        //inc - esertorio - 200810061328
        private string _modulo;
        public string Modulo
        {
            get { return this._modulo; }
            set { this._modulo = value; }
        }

        private static string _propriedadeSort = string.Empty;
        public static string PropriedadeSort
        {
            set { _propriedadeSort = value; }
        }
        
        #region IComparer<SubModulo> Members

        public int Compare(SubModulo x, SubModulo y)
        {
            int resultado = 0;
            switch (_propriedadeSort.ToLower())
            {
                case "descricao":
                    resultado = x.Descricao.CompareTo(y.Descricao);
                    break;

                default:
                    resultado = string.Compare(x.Id, y.Id);
                break;

            }
            return resultado; 
        }

        #endregion
    }
}
